// 发送get异步请求
// @param{string}  url       请求地址
// @param{string}  params    请求参数
// @param{fn}      callback  回调函数
// @param{object}  hearder   请求头设置
// @param{string}  dataType  判断后端返回数据类型

function get(url, params, callback, hearder = {}, dataType = 'json') {
    const xhr = new XMLHttpRequest
    xhr.onreadystatechange = function() {
        if (xhr.readyState === 4) {
            if (xhr.status === 200) {
                let res = xhr.responseText
                switch (dataType) {
                    case 'json':
                        res = JSON.parse(xhr.responseText)
                        break;
                    default:
                        break;
                }
                callback(res)

            } else {
                console.log("X", xhr.status);
            }
        }



    }
    xhr.open('get', `${url}?${params}`)
    for (let key in header) {
        xhr.setRequestHeader(key, hearder[key])
    }
    xhr.send(null)

}



/**
 * 发送post异步请求
 * @param {string}  url             请求地址
 * @param {string}  params          请求参数
 * @param {fn}      callback        回调函数    
 * @param {object}  header          请求头设置
 * @param {string}  dataType        判断后端返回数据类型
 */



function post(url,params,callback,header={},dataType='json')
{
    const xhr =new XMLHttpRequest
    xhr.onreadystatechange=function()
    {
        if(xhr.readyState===4)
        {
            if(xhr.status===200)
            {
                let res = xhr.responseText
                switch (dataType) 
                {
                    case 'json':
                        res = JSON.parse(xhr.responseText)
                        break;
                
                    default:
                        break;
                }
                callback(res)
            }else{
                console.log('错误状态码：',xhr.status);
            }
        }
    }
    xhr.open('post',url)
    xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
    for(let key in header)
    {
        xhr,setRequestHeader(key,header[key])
    }
    xhr.send(params)
}